Beamforming systems and methods

ABSTRACT

A first device including a receiver, a steering module, and a transmitter. The receiver receives a first signal transmitted using a first modulation scheme from a second device. The steering module obtains a steering matrix from the first signal transmitted using the first modulation scheme from the second device. The transmitter transmits a second signal using a second modulation scheme to the second device by reusing the steering matrix obtained from the first signal transmitted using the first modulation scheme from the second device. The first modulation scheme and the second modulation scheme are selected from a plurality of orthogonal frequency division multiplexing based modulation schemes. The second modulation scheme is different from the first modulation scheme.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 14/164,734, filed Jan. 27, 2014, which claims the benefit of U.S. Provisional Application No. 61/768,672, filed on Feb. 25, 2013 and which is a continuation-in-part of U.S. application Ser. No. 12/407,345 (now U.S. Pat. No. 8,638,875), filed on Mar. 19, 2009, which claims the benefit of U.S. Provisional Application No. 61/045,050, filed on Apr. 15, 2008.

This application relates to U.S. application Ser. No. 12/059,846, filed on Mar. 31, 2008, and U.S. application Ser. No. 12/044,117, filed on Mar. 7, 2008.

The entire disclosures of the applications referenced above are incorporated herein by reference.

FIELD

The present disclosure relates to wireless communication systems, and particularly to beamforming in wireless communication devices compliant with multiple communication standards.

BACKGROUND

The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.

FIG. 1 illustrates a conventional wireless communication system 10 including a first wireless device 12 that communicates with a second wireless device 14 via a channel 16. The first wireless device 12 includes a transmitter 18 and a receiver 22. The transmitter 18 may transmit radio-frequency (RF) signals via antennas 20-1, 20-2, . . . , and 20-n (collectively antennas 20). The receiver 22 may receive RF signals via the antennas 20. The second wireless device 14 includes a receiver 24 and a transmitter 28. The receiver 24 may receive RF signals via antennas 26-1, 26-2, . . . , and 26-n (collectively antennas 26). The transmitter 28 may transmit RF signals via the antennas 26. The transmitter 18 may communicate with the receiver 24 via the antennas 20, 26. The transmitter 28 may also communicate with the receiver 22 via the antennas 20, 26. For example only, the first and second wireless devices 12, 14 may include wireless access points (e.g., a wireless router) and wireless adapters (e.g., a wireless network interface card).

The transmitter 18 may encode data streams for transmission via the antennas 20. The antennas 20 transmit signals based on the data streams. A signal transmitted based on a single data stream is referred to herein as a “single stream signal.” When the transmitter 18 transmits a single stream signal, the transmitter 18 operates in a “single stream mode.”

Additionally, the antennas 20 may transmit signals based on multiple data streams. For example, a first set of the antennas 20 may transmit a first single stream signal, and a second set of the antennas 20 may transmit a second single stream signal. Signals transmitted based on multiple data streams are referred to herein as “multi-stream signals.” Transmitting multi-stream signals over the channel 16 may be referred to as “spatial multiplexing”. When the transmitter 18 transmits multi-stream signals that correspond to multiple data streams, the transmitter 18 operates in a “multiple-input multiple-output (MIMO) mode.”

The transmitter 18 may selectively operate in the single stream mode or the MIMO mode. When operating in the single stream mode, the transmitter 18 may comply with at least one of the Institute of Electrical and Electronics Engineers (IEEE) standards including IEEE 802.11a, IEEE 802.11b, and IEEE 802.11g, which are incorporated herein by reference. When operating in the MIMO mode, the transmitter 18 may comply with standards including The 3^(RD) generation partnership project (3GPP™), IEEE 802.16e, and IEEE P802.11n™/D3.00 (hereinafter “802.11n”), which are incorporated herein by reference.

SUMMARY

A first network device comprises a receiver, a steering module, and a transmitter. The receiver is configured to receive a first signal from a second network device. The first signal is transmitted from the second network device using a first modulation scheme. The first modulation scheme is selected from a group consisting of (i) a plurality of single carrier based modulation schemes and (ii) a plurality of orthogonal frequency division multiplexing based modulation schemes. The steering module is configured to generate a steering matrix based on the first signal. The transmitter is configured to transmit a second signal using the steering matrix to the second network device. The second signal is transmitted using a second modulation scheme. The second modulation scheme is selected from the group consisting of (i) the plurality of single carrier based modulation schemes and (ii) the plurality of orthogonal frequency division multiplexing based modulation schemes. The second modulation scheme is different from the first modulation scheme.

In other features, the first modulation scheme includes a first orthogonal frequency division multiplexing based modulation scheme. The second modulation scheme includes a second orthogonal frequency division multiplexing based modulation scheme.

In other features, the first modulation scheme includes a first single carrier based modulation scheme. The second modulation scheme includes a second single carrier based modulation scheme.

In other features, the first modulation scheme includes an orthogonal frequency division multiplexing based modulation scheme. The second modulation scheme includes a single carrier based modulation scheme.

In other features, the first modulation scheme includes a first number of subcarriers. The second modulation scheme includes a second number of subcarriers.

In another feature, the first number is different from the second number.

In another feature, the first number is equal to the second number.

In other features, the first modulation scheme and the second modulation scheme are compliant with 802.11a, 802.11g, 802.11n, or 802.11ac specification defined by the Institute of Electrical and Electronics Engineers.

In other features, the first modulation scheme is compliant with 802.11a, 802.11g, 802.11n, or 802.11ac specification defined by the Institute of Electrical and Electronics Engineers. The second modulation scheme is compliant with 802.11b direct-sequence spread spectrum (DSSS) or 802.11b Complementary Code Keying (CCK) specification defined by the Institute of Electrical and Electronics Engineers.

In other features, the steering module is configured to generate an estimate of channel between the first network device and the second network device based on the first signal received from the second network device and generate the steering matrix based on the estimate of the channel generated based on the first signal received from the second network device.

In other features, the first signal includes an estimate of channel between the first network device and the second network device generated by the second network device based on a packet received by the second network device from the first network device. The steering module is configured to generate the steering matrix based on the estimate of the channel received from the second network device in the first signal.

In still other features, a method comprises receiving, at a first network device, a first signal from a second network device. The first signal is transmitted from the second network device using a first modulation scheme. The first modulation scheme is selected from a group consisting of (i) a plurality of single carrier based modulation schemes and (ii) a plurality of orthogonal frequency division multiplexing based modulation schemes. The method further comprises generating a steering matrix based on the first signal. The method further comprises transmitting, from the first network device, a second signal using the steering matrix to the second network device. The second signal is transmitted using a second modulation scheme. The second modulation scheme is selected from the group consisting of (i) the plurality of single carrier based modulation schemes and (ii) the plurality of orthogonal frequency division multiplexing based modulation schemes. The second modulation scheme is different from the first modulation scheme.

In other features, the first modulation scheme includes a first orthogonal frequency division multiplexing based modulation scheme. The second modulation scheme includes a second orthogonal frequency division multiplexing based modulation scheme.

In other features, the first modulation scheme includes a first single carrier based modulation scheme. The second modulation scheme includes a second single carrier based modulation scheme.

In other features, the first modulation scheme includes an orthogonal frequency division multiplexing based modulation scheme. The second modulation scheme includes a single carrier based modulation scheme.

In other features, the first modulation scheme includes a first number of subcarriers. The second modulation scheme includes a second number of subcarriers.

In another feature, the first number is different from the second number.

In another feature, the first number is equal to the second number.

In other features, the first modulation scheme and the second modulation scheme are compliant with 802.11a, 802.11g, 802.11n, or 802.11ac specification defined by the Institute of Electrical and Electronics Engineers.

In other features, the first modulation scheme is compliant with 802.11a, 802.11g, 802.11n, or 802.11ac specification defined by the Institute of Electrical and Electronics Engineers. The second modulation scheme is compliant with 802.11b direct-sequence spread spectrum (DSSS) or 802.11b Complementary Code Keying (CCK) specification defined by the Institute of Electrical and Electronics Engineers.

In other features, the method further comprises generating an estimate of channel between the first network device and the second network device based on the first signal received from the second network device. The method further comprises generating the steering matrix based on the estimate of the channel generated based on the first signal received from the second network device.

In other features, the first signal includes an estimate of channel between the first network device and the second network device generated by the second network device based on a packet received by the second network device from the first network device. The method further comprises generating the steering matrix based on the estimate of the channel received from the second network device in the first signal.

Further areas of applicability of the present disclosure will become apparent from the detailed description, the claims and the drawings. The detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the disclosure.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a functional block diagram of a conventional wireless communication system.

FIG. 2 is a functional block diagram of a beamforming system including a transmitter that updates steering matrices.

FIG. 3 depicts a format of a multiple-input multiple-output (MIMO) mixed-mode packet.

FIG. 4 illustrates a method for generating a single stream steering matrix when a transmitter transitions from a MIMO mode to a single stream mode.

FIG. 5 illustrates a method for generating a MIMO steering matrix when the transmitter transitions from the single stream mode to the MIMO mode.

FIG. 6 illustrates a method for generating a single carrier steering matrix when the transmitter transitions from an OFDM mode to a single carrier mode.

FIG. 7 illustrates a method for generating OFDM steering matrices when the transmitter transitions from the single carrier mode to the OFDM mode.

FIG. 8 illustrates a method for generating a single carrier steering matrix based on OFDM channel matrices.

FIG. 9 is a functional block diagram of a beamforming system according to the present disclosure.

FIG. 10 is a flowchart of a method for beamforming according to the present disclosure.

Like reference symbols in the various drawings indicate like elements.

DESCRIPTION

A transmitter transmits signals to a receiver through a channel. The channel may include a wireless communication channel. Noise, such as electromagnetic interference, inter-channel crosstalk, etc., may interfere with signals transmitted through the channel.

The transmitter may use a technique called beamforming to reduce the effects of noise on signals transmitted through the channel. Beamforming may increase a signal to noise ratio (SNR) of signals received at the receiver. Consequently, beamforming may allow the transmitter to increase data rates during transmission.

During beamforming, the transmitter may map data streams to antennas to change a spatial gain of transmitted signals. Mapping the data streams to the antennas to change the spatial gain of transmitted signals is referred to herein as “steering a signal.” The transmitter may map a data stream to the antennas using complex weighting values. Each of the complex weighting values may include an amplitude portion and a phase shift portion. The complex weighting values used to map the data stream to the antennas may be included in a steering matrix. Accordingly, the transmitter may map the data stream to the antennas based on the steering matrix.

The transmitter may steer signals in the single stream mode. For example, the transmitter may steer the single stream signal using multiple antennas. Additionally, the transmitter may steer signals in the MIMO mode. For example, the transmitter may steer a first single stream signal using a first set of the antennas and may steer a second single stream signal using a second set of the antennas.

Received signals at the receiver may be mathematically expressed by the following equation: y=Hx+N, where y represents a received signal that is received at the receiver, x represents a transmitted signal that was transmitted via the antennas, H represents the channel through which the signal x was transmitted, and N represents additive noise.

When the transmitter uses beamforming, the transmitted signal x is weighted by a steering matrix V. The transmitted signal x may be mathematically expressed by the following equation: x=VS, where S represents one or more data streams to be mapped to the antennas, and V represents a steering matrix that modifies S to spatially map S onto the antennas. Accordingly, received signals in a wireless communication system that uses beamforming techniques may be mathematically expressed by the following equation: y=HVS+N  (Eq. 1)

The transmitter and the receiver may communicate using various modulation schemes. For example, the transmitter and the receiver may communicate using a single carrier modulation scheme. The single carrier modulation scheme may comply with the IEEE 802.11b standard. When the transmitter transmits signals using the single carrier modulation scheme, the transmitter operates in a “single carrier mode.”

When the transmitter operates in the single carrier mode, the channel may be modeled as a multi-path channel having delay dispersive characteristics in a time domain. More specifically, a signal transmitted from the transmitter may travel along multiple paths before the signal reaches the receiver. The signal may travel along multiple paths due to deflections and reflections by objects in the channel. The receiver may receive multiple versions of the transmitted signal due to the multi-path channel. Multiple versions of the transmitted signal may interfere with each other causing inter-symbol interference (ISI).

When the transmitter operates in the single carrier mode, received signals in the wireless communication system may be described as a tapped delay line according to the following equation:

$\begin{matrix} {{{y(n)} = {{\sum\limits_{l = 0}^{L - 1}{{H(l)}{x\left( {n - l} \right)}}} + {N(n)}}},} & \left( {{Eq}.\mspace{14mu} 2} \right) \end{matrix}$ where y(n) represents the received signal at the receiver at time n. The received signal includes multiple signals x generated due to multi-path delay. H(l) represents each tap in the tapped delay line model of the channel. L may represent a number of transmitted signals. N represents noise. Thus, the received signal may include a current transmitted signal and previously transmitted signals. The previously transmitted signals may be present in the received signal due to multi-path delay and may result in ISI.

When the transmitter uses beamforming, the transmitted signal x is weighted by a steering matrix. The transmitted signal x at time n may be mathematically expressed by the following equation:

$\begin{matrix} {{{x(n)} = {\sum\limits_{i = 0}^{I - 1}{{V(i)}{S\left( {n - i} \right)}}}},} & \left( {{Eq}.\mspace{14mu} 3} \right) \end{matrix}$ where V(i) is a time domain steering matrix at a tap index i, S represents one or more data streams, and I is a total number of taps. In other words, V(i) may be applied over I time taps like a spatio-temporal filter.

Alternatively or additionally, the wireless communication system may use a multiple carrier modulation scheme. The multiple carrier modulation scheme may include orthogonal frequency-division multiplexing (OFDM). For example, an OFDM modulation scheme may comply with at least one of the IEEE 802.11a, IEEE 802.11g, and IEEE 802.11n standards. In OFDM, a wideband carrier signal is converted into a series of independent narrowband subcarrier signals that are adjacent to each other in the frequency domain. When the transmitter transmits signals using the multiple carrier modulation scheme, the transmitter operates in an “OFDM mode.”

When the transmitter operates in OFDM mode, Eq. 1 may apply to each subcarrier or group of adjacent subcarriers (hereinafter “subcarriers”). For example, when the transmitter uses k subcarriers in the OFDM mode, a received signal in the wireless communication system may be described by k equations (one equation for each of the k subcarriers), as follows: y ₁ =H ₁ V ₁ S ₁ +N ₁ . . . y _(k) =H _(k) V _(k) S _(k) +N _(k)  (Eq. 4) In Eq. 4, y_(k)=H_(k)V_(k)S_(k)+N_(k) represents a received signal for the k^(th) subcarrier. The transmitter may generate a steering matrix (e.g., V_(k)) for each of the subcarriers.

The transmitter may generate steering matrices V(i) and V_(k) based on channel state information (CSI). The transmitter may determine channel state information using an implicit approach or explicit approach. When using an implicit approach, a transmitter (a first wireless device) estimates channel state information from the transmitter to a receiver (a second wireless device) (i.e., forward channel) based on a sounding signal sent from the receiver to the transmitter. The transmitter may use the implicit approach assuming the channel is reciprocal. Alternatively, when using an explicit approach, the transmitter may send a sounding signal to the receiver. The receiver may estimate channel state information based on the sounding signal received from the transmitter. The receiver then transmits channel state information to the transmitter.

In the wireless communication system, a wireless device may operate in a frequency band using one of four modes: the single stream mode, the MIMO mode, the single carrier mode, and the OFDM mode. The wireless device may select one of the four modes depending on a data rate that can be supported under the channel conditions. When using one of the four modes, the wireless device may generate a steering matrix for the mode used. Occasionally, the wireless device may switch modes without switching the frequency band. For example, the wireless device may switch modes within the frequency band due to a change in channel conditions. Typically, the wireless device discards the steering matrix when transitioning from a first mode to a second mode. Consequently, the wireless device may transmit signals that are not steered when the wireless device (initially) enters the second mode. Transmitting signals that are not steered may degrade performance of the wireless communication system.

The present disclosure relates to a beamforming system that generates a steering matrix for the second mode based on a steering matrix used in the first mode when the wireless device switches from the first mode to the second mode without switching the frequency band. For example, when the channel conditions do not change drastically, the wireless device may not discard the steering matrix from the first mode when the wireless device transitions from the first mode to the second mode. Instead, the wireless device may use the steering matrix from the first mode to generate the steering matrix for the second mode. Accordingly, the wireless device may transmit steered signals upon entering the second mode. Consequently, the performance of the wireless communication system may not degrade when the wireless device switches modes.

When the wireless device operates in the single stream mode, the wireless device may comply with at least one of the IEEE standards including IEEE 802.11a, IEEE 802.11b, and IEEE 802.11g, which are incorporated herein by reference. When operating in the MIMO mode, the wireless device may comply with comply with IEEE 802.11n™/D3.00 (hereinafter “802.11n”), which is incorporated herein by reference. When the wireless device operates in the single carrier mode, the wireless device may comply with the IEEE 802.11b standard. When the wireless device operates in the OFDM mode, the wireless device may comply with at least one of the IEEE 802.11a, IEEE 802.11g, and IEEE 802.11n standards.

The beamforming system is described below in detail. The description is organized as follows. FIG. 2 shows a beamforming system that includes a first wireless device that may steer signals to a second wireless device. The first wireless device may update steering matrices when transitioning between modes. FIG. 3 shows a mixed mode packet that includes a legacy portion and a MIMO portion. The first wireless device may steer the legacy portion based on a steering matrix used to steer the MIMO portion. FIGS. 4-8 show methods for updating steering matrices when the first wireless device transitions between modes.

Referring now to FIG. 2, a beamforming system 200 comprises a first wireless device 201 and a second wireless device 203. The first wireless device 201 comprises a transmitter 202 that communicates with a receiver 204 of the second wireless device 203. The transmitter 202 may communicate with the receiver 204 through a channel 206. The transmitter 202 comprises antennas 208-1, 208-2, . . . , and 208-n (collectively transmit antennas 208). The transmitter 202 comprises a physical layer (PHY) module 210 and a media access control (MAC) module 212. The PHY module 210 includes transceiver modules 214-1, 214-2, . . . , and 214-n (collectively transceiver modules 214). The transceiver modules 214-1, 214-2, . . . , and 214-n may be denoted by Tx/Rx₁, Tx/Rx₂, . . . , and Tx/Rx_(n), respectively, as shown. The transceiver modules 214 transmit and receive radio-frequency (RF) signals via the transmit antennas 208. The receiver 204 comprises antennas 215-1, 215-2, . . . , and 215-n (collectively receive antennas 215) that may receive RF signals transmitted from the transmitter 202.

The PHY module 210 includes mapping modules 216-1, 216-2, . . . , and 216-n (collectively mapping modules 216). The mapping modules 216-1, 216-2, . . . , and 216-n may be denoted by V₁, V₂, . . . , and V_(n), respectively, as shown. The mapping modules 216 may adjust signals received from respective transceiver modules 214 to change the spatial gain of transmitted signals. The mapping modules 216 may also adjust signals received via the transmit antennas 208. The mapping modules 216 may adjust signals based on complex weighting values. Each of the complex weighting values may include an amplitude portion and a phase shift portion. However, other weighting value configurations may be possible. The complex weighting values is referred to herein also as “mapping values.”

The MAC module 212 comprises a data generation module 218 and a channel state information (CSI) determination module 220. The data generation module 218 outputs data to the PHY module 210 for transmission via the transmit antennas 208. The CSI determination module 220 determines channel state information. The CSI determination module 220 may determine channel state information using sounding signals. For example, when the channel 206 is reciprocal, the CSI determination module 220 may estimate a forward channel based on a sounding signal sent from the receiver 204 to the transmitter 202. Alternatively, the transmitter 202 may send a sounding signal to the receiver 204. The receiver 204 may estimate the forward channel based on the sounding signal received from the transmitter 202 and then transmit channel state information back to the transmitter 202.

The data generation module 218 may output one or more data streams to the PHY module 210 for transmission via the transmit antennas 208. The transmit antennas 208 transmit a single stream signal when the transmitter 202 operates in the single stream mode. The transmit antennas 208 may transmit multi-stream signals when the transmitter 202 operates in the MIMO mode.

The transmitter 202 and the receiver 204 may communicate using various modulation schemes. For example, the transmitter 202 and the receiver 204 may communicate using a single carrier modulation scheme. When the transmitter 202 transmits signals using a single carrier modulation scheme, the transmitter 202 operates in the single carrier mode.

Alternatively or additionally, the transmitter 202 and the receiver 204 may communicate using a multiple carrier modulation scheme. The multiple carrier modulation scheme may include OFDM. When the transmitter 202 transmits signals using OFDM, the transmitter 202 operates in the OFDM mode.

The MAC module 212 further comprises a mode selection module 222 that selects an operating mode of the transmitter 202. For example, the mode selection module 222 may instruct the PHY module 210 to transmit in at least one of the single stream mode, the MIMO mode, the single carrier mode, and the OFDM mode. Accordingly, the mode selection module 222 may instruct the PHY module 210 to modulate one or more single stream signals using a single carrier. The mode selection module 222 may also instruct the PHY module 210 to modulate one or more single stream signals using OFDM.

The mode selection module 222 may instruct the PHY module 210 to switch modes based on channel state information. For example, the mode selection module 222 may instruct the PHY module 210 to switch modes when channel state information changes due to a change in distance between the transmitter 202 and receiver 404. For example, when the transmitter 202 is closer to the receiver 204, the data rate between the transmitter 202 and the receiver 204 can be higher due to increased channel strength. Accordingly, the transmitter 202 may switch to a mode that supports a higher data rate. Conversely, when the transmitter 202 moves farther from the receiver 204, the channel strength may decrease, and the transmitter 202 may decrease data rate. Accordingly, the transmitter 202 may switch to a mode that supports a lower data rate.

The MAC module 212 further comprises a steering determination module 224 and a steering update module 226 that implement beamforming. The steering determination module 224 may generate the mapping values that are used to map one or more data streams to the transmit antennas 208. The steering determination module 224 may determine the mapping values based on channel state information. The mapping values may include complex values that include an amplitude portion and a phase shift portion.

The mapping modules 216 may adjust the spatial gain of the transmitted signal based on the mapping values. The mapping values may be represented by a steering matrix. The steering determination module 224 may output the steering matrix to the PHY module 210 to map one or more data streams to the transmit antennas 208. Accordingly, the transmitter 202 may map a data stream to the transmit antennas 208 based on the steering matrix.

The steering determination module 224 may generate the steering matrix based on a singular value decomposition (SVD) approach or based on alternative algorithms. The columns of the steering matrix may each map a single stream signal to a set of the transmit antennas 208. The columns may be selected to increase a receive SNR across one or more single stream signals.

A steering matrix used in the single stream mode is referred to herein as a “single stream steering matrix.” A steering matrix used in the MIMO mode is referred to herein as a “MIMO steering matrix.” A steering matrix used in the single carrier mode is referred to herein as a “single carrier steering matrix.” A steering matrix used in the OFDM mode is referred to herein as an “OFDM steering matrix.”

The steering update module 226 updates the steering matrix when the transmitter 202 transitions between modes. For example, the steering update module 226 may update the steering matrix when the transmitter 202 transitions from the single stream mode to the MIMO mode, and vice versa. The steering update module 226 may also update the steering matrix when the transmitter 202 transitions from the single carrier mode to the OFDM mode, and vice versa.

Signals received at the receiver 204 may be mathematically expressed by the following equation: y=HVS+N,  (Eq. 1) where the transmitter 202 may map one or more data streams S to the transmit antennas 208 based on a steering matrix V. The one or more data streams S may be represented by a single column matrix including D rows, where each row represents a single data stream. Accordingly, the one or more data streams S may be mathematically represented by the following equation:

$S = {\begin{bmatrix} S_{1} \\ \vdots \\ S_{D} \end{bmatrix}.}$

The steering matrix V may include T rows and D columns, where T is a number of the transmit antennas 208 onto which a single data stream is mapped. Each of the D columns may correspond to mapping of a different single stream signal. The steering matrix V may be mathematically represented by the following equation:

$V = {\begin{bmatrix} V_{11} & \vdots & V_{1D} \\ \vdots & \ddots & \vdots \\ V_{T\; 1} & \ldots & V_{TD} \end{bmatrix}.}$

The received signal y may be represented by a single column matrix including R rows, where R is a number of the receive antennas 215. Accordingly, the received signal y may be mathematically represented by the following equation:

${y\begin{bmatrix} y_{1} \\ \vdots \\ y_{R} \end{bmatrix}}.$

The channel H may be represented as an R×T matrix that modifies the transmitted signal x (i.e., VS). The channel H may be mathematically represented by the following equation:

$H = {\begin{bmatrix} H_{11} & \ldots & H_{1\; T} \\ \vdots & \ddots & \vdots \\ H_{R\; 1} & \ldots & H_{RT} \end{bmatrix}.}$

Noise N received by the receive antennas 215 may be represented by a single column matrix that includes R rows. Accordingly, the noise N may be mathematically represented by the following equation:

$N = {\begin{bmatrix} N_{1} \\ \vdots \\ N_{R} \end{bmatrix}.}$

Signals received at the receiver 204 may be mathematically expressed by the following equation when the transmitter 202 operates in the single stream mode:

$\begin{matrix} {{\begin{bmatrix} y_{1} \\ \vdots \\ y_{R} \end{bmatrix} = {{{\begin{bmatrix} H_{11} & \ldots & H_{1\; T} \\ \vdots & \ddots & \vdots \\ H_{R\; 1} & \ldots & H_{RT} \end{bmatrix}\begin{bmatrix} V_{1} \\ \vdots \\ V_{T} \end{bmatrix}}S} + \begin{bmatrix} N_{1} \\ \vdots \\ N_{R} \end{bmatrix}}},} & \left( {{Eq}.\mspace{14mu} 5} \right) \end{matrix}$ where S is a single element matrix that represents a single data stream. The steering matrix V may be a single column matrix that includes T elements when the transmitter 202 operates in the single stream mode. In one implementation, the steering matrix V may map a single data stream S onto T transmit antennas 208.

Signals received at the receiver 204 may be mathematically expressed by the following equation when the transmitter 202 operates in the MIMO mode:

$\begin{matrix} {{\begin{bmatrix} y_{1} \\ \vdots \\ y_{R} \end{bmatrix} = {{{\begin{bmatrix} H_{11} & \ldots & H_{1\; T} \\ \vdots & \ddots & \vdots \\ H_{R\; 1} & \ldots & H_{RT} \end{bmatrix}\begin{bmatrix} V_{11} & \ldots & V_{1\; D} \\ \vdots & \ddots & \vdots \\ V_{T\; 1} & \ldots & V_{TD} \end{bmatrix}}\begin{bmatrix} S_{1} \\ \vdots \\ S_{D} \end{bmatrix}} + \begin{bmatrix} N_{1} \\ \vdots \\ N_{R} \end{bmatrix}}},} & \left( {{Eq}.\mspace{14mu} 6} \right) \end{matrix}$ where S is represented by single column matrix including D elements corresponding to D data streams. The steering matrix V may be represented as a T×D matrix when the transmitter 202 operates in the MIMO mode. In one implementation, the steering matrix V maps D data streams onto T transmit antennas when the transmitter operates in the MIMO mode. For example, a first set of transmit antennas 208 may map a first data stream, and a second set of transmit antennas 208 may map a second data stream.

When the transmitter 202 operates in the single carrier mode, the transmitter 202 may map a data stream to transmit antennas 208 using a single carrier steering matrix. The mapping of a data stream when the transmitter 202 operates in the single carrier mode may be mathematically represented by the following equation:

$\begin{matrix} {{{x(n)} = {\sum\limits_{i = 0}^{I - 1}{{V(i)}{S\left( {n - i} \right)}}}},} & \left( {{Eq}.\mspace{14mu} 3} \right) \end{matrix}$ where x(n) represents the transmitted signal at time n, and V(i) represents the single carrier steering matrix in the time domain at a tap index i. S represents one or more data streams and I denotes a total number of taps in the tapped delay line model.

Signals received at the receiver 204 may be mathematically expressed by the following equation when the transmitter 202 operates in the OFDM mode: y ₁ =H ₁ V ₁ S ₁ +N ₁ . . . y _(k) =H _(k) V _(k) S _(k) +N _(k),  (Eq. 4) where the transmitter 202 operates using k subcarriers. y_(k) denotes signals received at the receiver 204 for the k^(th) subcarrier. The transmitter 202 may generate the OFDM steering matrix V_(k) for each of the k subcarriers.

The beamforming system 200 generates the steering matrix for the second mode by updating the steering matrix for the first mode when the transmitter 202 transitions from the first mode to the second mode. More specifically, the steering update module 226 may update the steering matrix when the transmitter 202 transitions from the single stream mode to the MIMO mode, and vice versa. The steering update module 226 may also update the steering matrix when the transmitter 202 transitions from the single carrier mode to the OFDM mode, and vice versa. The transitions are discussed below in turn.

When the transmitter 202 transitions from the MIMO mode to the single stream mode, the steering update module 226 generates the single stream steering matrix based on the MIMO steering matrix. When in the MIMO mode, the transmitter 202 may transmit a single stream signal using spatial diversity according to Eq. 5 or may transmit a multi-stream signal using spatial multiplexing according to Eq. 6. When the transmitter 202 operates in the single stream mode, the transmitter 202 may transmit a single stream signal according to Eq. 5.

When the transmitter 202 transitions from the MIMO mode to the single stream mode, the steering update module 226 may generate the single stream steering matrix based on a column of the MIMO steering matrix. For example, the steering update module 226 may generate the single stream steering matrix by using the first column of the MIMO steering matrix of as follows:

$\left. {\underset{MIMO}{\begin{bmatrix} V_{11} & \ldots & V_{1\; D} \\ \vdots & \ddots & \vdots \\ V_{T\; 1} & \ldots & V_{TD} \end{bmatrix}}\underset{{Single}\mspace{14mu}{Stream}}{\begin{bmatrix} V_{11} \\ \vdots \\ V_{T\; 1} \end{bmatrix}}}\rightarrow \right.$

The steering update module 226 may generate the single stream steering matrix based on an SNR associated with each column. For example, the steering update module 226 may generate the single stream steering matrix by using the column of the MIMO steering matrix that maximizes the SNR at the receiver 204.

When the transmitter 202 transitions from the MIMO mode to the single stream mode, and when both the MIMO mode and the single stream mode use OFDM, subcarriers used in the single stream mode may occupy a subset of the subcarriers used in the MIMO mode. Subcarriers that are common to both the single stream mode and the MIMO mode are referred to herein as “overlapping subcarriers.” The steering update module 226 may generate the single stream steering matrices from the MIMO steering matrices that correspond to the overlapping subcarriers. When the subcarriers do not overlap exactly, the steering update module 226 may generate the single stream steering matrices from the MIMO steering matrices that correspond to the subcarriers that nearly overlap.

Referring now to FIG. 3, the transmitter 202 may transmit a mixed mode packet (e.g., when complying with IEEE 802.11n). The mixed mode packet may include a single stream legacy portion and a multi-stream MIMO portion. The legacy portion of the mixed mode packet may be used for carrier sensing, timing, and frequency synchronization at the receiver 204. The transmitter 202 may transmit the legacy portion to enable legacy receivers to determine a length of the MIMO portion so that the legacy receiver can stop transmission during a period when the MIMO portion is transmitted (e.g., in carrier sense multiple access (CSMA) protocols).

Typically, the legacy portion of the mixed-mode packet is not steered, and the MIMO portion may be steered. The transmitter 202 may steer the legacy portion based on the MIMO steering matrix that is used to steer the MIMO portion. Steering the legacy portion based on the MIMO steering matrix may increase signal strength at the receiver 204, so that the quality of carrier sensing and synchronization is improved. The steering update module 226 may generate a single stream steering matrix to steer the legacy portion based on the MIMO steering matrix used to steer the MIMO portion. For example, the steering update module 226 may use a single column of the MIMO steering matrix to steer the legacy single stream portion. Steering the legacy portion may improve reception of the legacy portion at the receiver 204.

Referring back to FIG. 2, when the transmitter 202 transitions from the single stream mode to the MIMO mode, the steering update module 226 may generate the MIMO steering matrix based on the single stream steering matrix. The transmitter 202 may transmit in the single stream mode using a single column matrix according to Eq. 5. When the transmitter 202 transmits a single stream in the MIMO mode, the steering update module 226 may use the single column of the single stream steering matrix to generate the MIMO steering matrix. For example, the MIMO steering matrix may be set equal to the single stream matrix when the transmitter 202 transmits the single stream signal in the MIMO mode.

When the transmitter 202 transmits multiple streams in the MIMO mode, the steering update module 226 may generate the MIMO steering matrix based on the single stream steering matrix. For example, the steering update module 226 may generate the MIMO steering matrix by using the single stream steering matrix as the first column of the MIMO steering matrix. The steering update module 226 may then generate additional columns of the MIMO steering matrix by generating columns that are orthogonal to the first column.

When the transmitter 202 transitions from the single stream mode to the MIMO mode, and when both single stream and MIMO modes use OFDM, the single stream mode and the MIMO mode may include overlapping subcarriers. The steering update module 226 may generate the MIMO steering matrices from the single stream steering matrices that correspond to the overlapping subcarriers. When the subcarriers do not overlap exactly, the steering update module 226 may generate the MIMO steering matrices from the single stream steering matrices that correspond to the subcarriers that nearly overlap.

When the transmitter 202 transitions from the OFDM mode to the single carrier mode, the steering update module 226 may generate the single carrier steering matrix based on the OFDM steering matrix. The transmitter 202 may use k subcarriers in the OFDM mode. When the transmitter 202 uses k subcarriers in OFDM mode, Eq. 4 may include an OFDM steering matrix for each of the k subcarriers. The OFDM steering matrices corresponding to the k subcarriers may be denoted as matrices V₁→V_(k). When the transmitter 202 operates in the single carrier mode, Eq. 3 may include a single carrier steering matrix for each of the I taps. The single carrier steering matrices corresponding to the I taps may be denoted as matrices V(0)→V(I−1).

When the transmitter 202 transitions from the OFDM mode to the single carrier mode, the steering update module 226 may generate one or more single carrier matrices based on the OFDM steering matrices. The steering update module 226 may generate multiple single carrier steering matrices V(0)→V(I−1) based on the matrices V₁→V_(k). For example, the steering update module 226 may generate the matrices V(0)→V(I−1) based on an inverse discrete Fourier transform (IDFT) of the matrices V₁→V_(k).

When the number of taps I is not long enough to match the IDFT of the matrices V₁→V_(k), the steering update module 226 may use an approximation algorithm to generate the matrices V(0)→V(I−1). For example, the steering update module 226 may use a least mean square algorithm to approximately generate the matrices V(0)→V(I−1).

The transmitter 202 may switch from transmitting multi-stream signals in the OFDM mode to transmitting a single stream signal in the single carrier mode. When the OFDM mode includes multiple streams, the OFDM steering matrices V₁→V_(k) may include multiple columns. The steering update module 226 may generate the single carrier steering matrices based on selected columns of the matrices V₁→V_(k) when the OFDM mode includes multi-stream signals and when the single carrier mode includes a single stream signal. For example, the steering update module 226 may generate the single carrier steering matrices V(0)→V(I−1) based on one column from each of the matrices V₁→V_(k).

When the CSI determination module 220 determines channel state information matrices H₁→H_(k) in the OFDM mode before switching to the single carrier mode, the steering update module 226 may generate the single carrier steering matrices V(0)→V(I−1) based on the matrices H₁→H_(k). For example, the steering update module 226 may determine the time domain channel matrices H(0)→H(L−1) of Eq. 2 by IDFT of matrices H₁→H_(k). The steering update module 226 may then determine the matrices V(0)→V(I−1) based on the matrices H(0)→H(L−1) using time domain beamforming approaches.

For I=1, the steering update module 226 may generate a single carrier steering matrix V(0) based on the matrices V₁→V_(k) when the transmitter 202 transitions from the OFDM mode to the single carrier mode. The steering update module 226 may generate the single carrier steering matrix V(0) based on an IDFT of the matrices V₁→V_(k). When the transmitter 202 transmits multi-stream signals in the OFDM mode (i.e., the matrices V₁→V_(k) each includes multiple columns) and transmits a single stream signal in single carrier mode, then the single carrier steering matrix V(0) may be determined based on an IDFT of selected columns of the matrices V₁→V_(k).

When the CSI determination module 220 determines channel state information matrices H₁→H_(k) in the OFDM mode before switching from the OFDM mode to the single carrier mode, the steering update module 226 may determine the single carrier steering matrix V(0) based on the matrices H₁→H_(k). For example, the steering update module 226 may determine the matrices H(0)→H(L−1) by IDFT of the matrices H₁→H_(k), and then generate the single carrier steering matrix V(0) based on the matrices H(0)→H(L−1) by applying time domain beamforming approaches. The steering update module 226 may generate the single carrier steering matrix V(0) by using the strongest tap among the matrices H(0)→H(L−1).

The transmitter 202 may apply cyclic delay diversity (CDD) to gain frequency diversity. Cyclic delay diversity may increase the equivalent time-domain channel delay-dispersion, resulting in longer steering matrix taps (I) to steer in the single stream mode. Accordingly, the transmitter 202 may disable cyclic delay diversity when steering in the OFDM mode to increase performance of the beamforming system 200.

When the transmitter 202 transitions from the single carrier mode to the OFDM mode, the steering update module 226 may determine the OFDM steering matrices based on one or more single carrier steering matrices. The steering update module 226 may generate the OFDM steering matrices V₁→V_(k) based on the single carrier steering matrices V(0)→V(I−1). For example, the steering update module 226 may generate the OFDM steering matrices V₁→V_(k) based on a discrete Fourier transform (DFT) of the single carrier steering matrices V(0)→V(I−1).

When I=1, the steering update module 226 may generate the OFDM steering matrices V₁→V_(k) based on the single carrier steering matrix V(0). For example, the steering update module 226 may generate the OFDM steering matrices V₁→V_(k) by determining a DFT of the single carrier steering matrix V(0). The steering update module 226 may then apply the DFT of the single carrier steering matrix V(0) directly as the OFDM steering matrices V₁→V_(k) for each of the k subcarriers. The transmitter 202 may disable CDD to increase performance of the beamforming system 200 when steering in the OFDM mode.

Referring now to FIG. 4, a method 400 for generating a single stream steering matrix when a transmitter transitions from the MIMO mode to the single stream mode begins in step 401. In step 402, the steering determination module 224 determines the MIMO steering matrix. In step 404, the transmitter 202 transitions from the MIMO mode to the single stream mode.

In step 406, the transmitter 202 determines whether the MIMO mode and the single stream mode modulate transmissions use OFDM. If the result of step 406 is true, the method 400 continues with step 408. If the result of step 406 is false, the method 400 continues with step 412.

In step 408, the transmitter 202 determines whether the MIMO mode and the single stream mode include overlapping subcarriers. If the result of step 408 is true, the method 400 continues with step 410. If the result of step 408 is false, the method 400 continues with step 412.

In step 410, the steering update module 226 generates the single stream steering matrices based on the overlapping subcarriers of the MIMO transmission. In step 412, the steering update module 226 selects a single column of the MIMO steering matrix. In step 414, the steering update module 226 generates the single stream steering matrix based on the selected column of the MIMO steering matrix. The method 400 ends in step 416.

Referring now to FIG. 5, a method 500 for generating a MIMO steering matrix when a transmitter transitions from the single stream mode to the MIMO mode begins in step 501. In step 502, the steering determination module 224 determines the single stream steering matrix in the single stream mode. In step 504, the transmitter 202 transitions from the single stream mode to the MIMO mode.

In step 506, the transmitter 202 determines whether the MIMO mode and the single stream mode use OFDM. If the result of step 506 is true, the method 500 continues with step 508. If the result of step 506 is false, the method 500 continues with step 512.

In step 508, the transmitter 202 determines whether the MIMO mode and the single stream mode include overlapping subcarriers. If the result of step 508 is true, the method 500 continues with step 510. If the result of step 508 is false, the method 500 continues with step 512.

In step 510, the steering update module 226 generates the MIMO steering matrices based on the overlapping subcarriers of the single stream transmission. In step 512, the transmitter 202 determines whether to transmit a single stream signal when operating in the MIMO mode. If the result of step 512 is true, the method 500 continues with step 514. If the result of step 512 is false, the method 500 continues with step 516.

In step 514, the steering update module 226 generates the MIMO steering matrix by reusing the single stream steering matrix. In step 516, the steering update module 226 uses the single stream steering matrix as the first column of the MIMO steering matrix. In step 518, the steering update module 226 generates the remaining columns of the MIMO steering matrix by generating columns that are orthogonal to the first column of the MIMO steering matrix. The method 500 ends in step 520.

Referring now to FIG. 6, a method 600 for generating a single carrier steering matrix when a transmitter transitions from the OFDM mode to the single carrier mode begins in step 601. In step 602, the steering determination module 224 determines OFDM steering matrices. In step 604, the transmitter 202 transitions from the OFDM mode to the single carrier mode.

In step 606, the transmitter 202 determines whether to apply the OFDM steering matrices over multiple time taps. If the result of step 606 is true, the method 600 continues with step 608. If the result of step 606 is false, the method 600 continues with step 610.

In step 608, the transmitter 202 determines whether to transmit single stream signals in the single carrier mode after the transmitter 202 transmitted multi-stream signals in the OFDM mode. If the result of step 608 is true, the method 600 continues with step 612. If the result of step 608 is false, the method 600 continues with step 614.

In step 612, the steering update module 226 generates the single carrier steering matrices by IDFT using select columns of the OFDM steering matrices. In step 614, the steering update module 226 generates the single carrier steering matrices by IDFT of the OFDM steering matrices.

In step 610, the transmitter 202 determines whether to transmit a single stream signal in the single carrier mode after the transmitter 202 transmitted multi-stream signals in the OFDM mode. If the result of step 610 is true, the method 600 continues with step 616. If the result of step 610 is false, the method 600 continues with step 618.

In step 616, the steering update module 226 generates the single carrier steering matrix by IDFT using select columns of the OFDM steering matrices. In step 618, the steering update module 226 generates the single carrier steering matrix by IDFT of the OFDM steering matrices. The method 600 ends in step 620.

Referring now to FIG. 7, a method 700 for generating an OFDM steering matrix when a transmitter transitions from the single carrier mode to the OFDM mode begins in step 701. In step 702, the steering determination module 224 determines a single carrier steering matrix. In step 704, the transmitter 202 transitions from the single carrier mode to the OFDM mode.

In step 706, the steering update module 226 determines whether to generate OFDM steering matrices using multiple single carrier steering matrices. If the result of step 706 is true, the method 700 continues with step 708. If the result of step 706 is false, the method 700 continues with step 710.

In step 708, the steering update module 226 generates the OFDM steering matrices by DFT of the single carrier steering matrices. In step 710, the steering update module 226 determines a DFT of the single carrier steering matrix. In step 712, the steering update module 226 generates the OFDM steering matrices by applying the DFT of the single carrier steering matrix to the OFDM steering matrices. The method 700 ends in step 714.

Referring now to FIG. 8, a method 800 for generating a single carrier steering matrix based on OFDM channel matrices starts in step 801. In step 802, the CSI determination module 220 determines the channel state information matrices H₁→H_(k) in the OFDM mode. In step 804, the transmitter 202 transitions to the single carrier mode. In step 806, the steering update module 226 determines single carrier time domain channel matrices H(0)→H(L−1) by IDFT of the matrices H₁→H_(k).

In step 808, the transmitter 202 determines whether to transmit using multiple single carrier steering matrices. If the result of step 808 is true, the method 800 continues with step 810. If the result of step 808 is false, the method 800 continues with step 812.

In step 810, the steering update module 226 generates the single carrier steering matrices based on the single carrier time domain channel matrices using time-domain beamforming approaches. In step 812, the steering update module 226 generates the single carrier steering matrix V(0) based on the single carrier time-domain channel matrices using time-domain beamforming approaches. The method 800 ends in step 814.

Throughout the disclosure, the IEEE standards IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, and IEEE 802.11n are used for illustration purposes only. The teachings of the disclosure may extend to other standards including The 3^(RD) generation partnership project (3GPP™) and IEEE 802.16e.

In some instances, beamforming may be performed by two network devices using disparate modulation schemes. For example, a first network device may transmit beamformed signals to a second network device based on a training signal received from the second network device. The first network device may use a different modulation scheme when transmitting the beamformed signals than that used by the second network device when transmitting the training signal.

The two network devices may use different modulation schemes for various reasons. For example, the two network devices may comply with different IEEE 802.11 specifications and consequently may use different modulation schemes. Alternatively, the two network devices may select different modulation schemes at different times based on changes in channel conditions. For example, the second network device may transmit the training signal modulated using a first modulation scheme, and subsequently, due to changes in channel condition, the first network device may transmit beamformed signals generated based on the training signal using a second modulation scheme. The two network devices may inform each other their respective capabilities regarding supported modulation schemes via information elements exchanged during association prior to beamforming.

FIG. 9 shows a system 900 for beamforming according to the present disclosure. The system 900 includes a first network device 902 and a second network device 904. The first network device 902 and the second network device 904 communicate with each other via a channel 906. Each of the first network device 902 and the second network device 904 includes a wireless network device. Each of the first network device 902 and the second network device 904 includes a plurality of antennas. The plurality of antennas of the first network device 902 and the second network device 904 may be arranged in a multiple-input multiple-output (MIMO) configuration. The first network device 902 may have the same number of antennas as the second network device 904. Alternatively, the first network device 902 may have different number of antennas than the second network device 904. In the following description, for example only, the first network device 902 may be a beamformer, and the second network device 904 may be a beamformee, where a beamformer steers transmit signals specifically directed towards a beamformee.

The first network device 902 includes a transceiver 908, an association module 909, and a steering module 910. The transceiver 908 includes a transmitter 912 and a receiver 914. The transceiver 908 communicates with the plurality of antennas of the first network device 902. The association module 909 and the steering module 910 communicate with the transmitter 912 and the receiver 914.

The second network device 904 includes a transceiver 916, an association module 917, and a steering module 918. The transceiver 916 includes a transmitter 920 and a receiver 922. The transceiver 916 communicates with the plurality of antennas of the second network device 904. The association module 917 and the steering module 918 communicate with the transmitter 920 and the receiver 922.

During association, the association modules 909 and 917 of the first and second network devices 902 and 904 exchange capabilities information. The capabilities information may include information regarding modulation schemes, coding schemes, data rates, and so on that are supported by the respective network device. Subsequently, the first and second network devices 902 and 904 perform beamforming as follows.

The receiver 914 of the first network device 902 receives a training signal transmitted by the transmitter 920 of the second network device 904. The transmitter 920 transmits the training signal using a first modulation scheme. The steering module 910 of the first network device 902 generates a steering matrix based on the training signal received from the second network device 904.

The transmitter 912 of the first network device 902 transmits signals to the second network device 904 using a second modulation scheme. The transmitter 912 of the first network device 902 steers the signals transmitted to the second network device 904 using the steering matrix generated based on the training signal received from the second network device 904, which is modulated using the first modulation scheme. Depending on the characteristics (e.g., number of subcarriers) of the first and second modulation schemes, the first network device 902 may use a subset (i.e., a portion) of the steering matrix when transmitting signals to the second network device 904.

Both the first modulation scheme and the second modulation scheme may include an orthogonal frequency division multiplexing (OFDM) based modulation scheme. Alternatively, both the first modulation scheme and the second modulation scheme may include a single carrier based modulation scheme. In some implementations, the first modulation scheme may include an OFDM based modulation scheme while the second modulation scheme may include a single carrier based modulation scheme, or vice versa.

The system 900 may operate in a wireless local area network (LAN). The wireless LAN may conform to one or more 802.11 specifications set forth and amended by the Institute of Electrical and Electronics Engineers (IEEE). For example, the 802.11 specifications may include 802.11a, 802.11g, 802.11n, and 802.11ac specifications. The first modulation scheme and the second modulation scheme may include any two different OFDM based modulation schemes conforming to the 802.11 specifications. For example, the first modulation scheme may include an OFDM based modulation scheme that complies with one of the 802.11 specifications while the second modulation scheme may include an OFDM based modulation scheme that complies with a different one of the 802.11 specifications. The first modulation scheme may include different number of subcarriers than the second modulation scheme. Alternatively, the first modulation scheme may include the same number of subcarriers as the second modulation scheme.

In some implementations, the first modulation scheme may include an OFDM based modulation scheme that complies with one of the 802.11 specifications while the second modulation scheme may include a single carrier based modulation scheme that complies with one of the 802.11b specifications set forth and amended by the IEEE, or vice versa. For example, the 802.11b specifications may include the 802.11b direct-sequence spread spectrum (DSSS) specification and the 802.11b Complementary Code Keying (CCK) specification.

The first network device 902 may use explicit or implicit beamforming. In explicit beamforming, the transmitter 912 of the first network device 802 transmits a sounding signal (e.g., a packet) to the second network device 904. The receiver 922 of the second network device 904 receives the sounding signal. The steering module 918 of the second network device 904 estimates channel between the first network device 902 and the second network device 904 and generates channel state information. The transmitter 920 of the second network device 904 transmits the channel state information generated by the steering module 918 to the first network device 902 via the training signal. The transmitter 920 transmits the training signal using a first modulation scheme. The receiver 914 of the first network device 902 receives the channel state information transmitted by the second network device 904 via the training signal. The steering module 910 of the first network device 902 generates a steering matrix based on the channel state information received from the second network device 904 via the training signal. The transmitter 912 of the first network device 902 transmits signals to the second network device 904 based on the steering matrix. The transmitter 912 of the first network device 902 transmits signals to the second network device 904 using a second modulation scheme. The first modulation scheme and the second modulation scheme include the modulation schemes described above with reference to FIG. 9.

Alternatively, in explicit beamforming, the steering module 918 of the second network device 904 may estimate channel between the first network device 902 and the second network device 904 and may generate a steering matrix that the first network device 902 should use when transmitting signals to the second network device 904. The transmitter 920 of the second network device 904 transmits the steering matrix generated by the steering module 918 to the first network device 902 via the training signal. The transmitter 920 transmits the training signal using a first modulation scheme. The receiver 914 of the first network device 902 receives the steering matrix transmitted by the second network device 904 via the training signal. The transmitter 912 of the first network device 902 transmits signals to the second network device 904 based on the steering matrix. The transmitter 912 of the first network device 902 transmits signals to the second network device 904 using a second modulation scheme. The first modulation scheme and the second modulation scheme include the modulation schemes described above with reference to FIG. 9.

In implicit beamforming, the transmitter 920 of the second network device 904 sends a sounding signal to the first network device 902. The transmitter 920 transmits the sounding signal using a first modulation scheme. The receiver 914 of the first network device 902 receives the sounding signal. Assuming channel reciprocity (i.e., assuming channel in uplink and downlink directions to be the same), the steering module 910 of the first network device 902 estimates channel between the first network device 902 and the second network device 904 based on the sounding signal received by the receiver 914 and generates channel state information. The steering module 910 generates a steering matrix based on the channel state information. The transmitter 912 of the first network device 902 transmits signals to the second network device 904 based on the steering matrix. The transmitter 912 of the first network device 902 transmits signals to the second network device 904 using a second modulation scheme. The first modulation scheme and the second modulation scheme include the modulation schemes described above with reference to FIG. 9.

FIG. 10 shows a method 950 for beamforming according to the present disclosure. At 952, a first network device and a second network device begin to associate with each other. At 954, the first and second network devices include information elements in association frames exchanged, where the information elements indicate network capabilities of the respective network devices. For example, the network capabilities may include one or more modulation schemes, data rates, and so on supported by each network device. At 956, the network devices determine whether the association is completed. The process of association continues until the association is completed. After the association is completed, beamforming is performed as follows.

At 958, the first network device transmits a sounding signal to the second network device. The second network device estimates channel based on the sounding signal. The second network device transmits a training signal modulated using a first modulation scheme to the first network device, where the training signal includes channel state information. The second network device may also generate a steering matrix based on the channel state information and include the steering matrix in the training signal.

At 960, the first network device may generate a steering matrix based on the training signal (or receive the steering matrix from the second network device in the training signal) and use the steering matrix to generate beamformed signals for transmission to the second network device. Alternatively, the second network device may transmit a sounding signal modulated using the first modulation scheme to the first network device. The first network device may estimate channel and generate a steering matrix based on the sounding signal and use the steering matrix to generate beamformed signals for transmission to the second network device.

At 962, the first network device determines whether channel condition has changed. At 964, if the channel condition has changed, the first network device determines based on the information elements exchanged during association, whether the first and second network devices use different modulation schemes. At 966, if the first and second network devices do not use different modulation schemes, the first network device transmits beamformed signals to the second device using the first modulation scheme. At 968, if the first and second network devices use different modulation schemes, the first network device transmits beamformed signals to the second device using a second modulation scheme selected according to the changed channel condition. The first modulation scheme and the second modulation scheme include the modulation schemes described above with reference to FIG. 9. Depending on the characteristics (e.g., number of subcarriers) of the first and second modulation schemes, the first network device may use a subset (i.e., a portion) of the steering matrix to generate the beamformed signals.

At 970, if the channel condition has not changed, the first network device determines based on the information elements exchanged during association, whether the first and second network devices use different modulation schemes. At 972, if the first and second network devices do not use different modulation schemes, the first network device transmits beamformed signals to the second device using the first modulation scheme. At 968, if the first and second network devices use different modulation schemes, the first network device transmits beamformed signals to the second device using a second modulation scheme. The first modulation scheme and the second modulation scheme include the modulation schemes described above with reference to FIG. 9. Depending on the characteristics (e.g., number of subcarriers) of the first and second modulation schemes, the first network device may use a subset (i.e., a portion) of the steering matrix to generate the beamformed signals.

The foregoing description is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses. The broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent upon a study of the drawings, the specification, and the following claims. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A or B or C), using a non-exclusive logical OR. It should be understood that one or more steps within a method may be executed in different order (or concurrently) without altering the principles of the present disclosure.

In this application, including the definitions below, the term module may be replaced with the term circuit. The term module may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC); a digital, analog, or mixed analog/digital discrete circuit; a digital, analog, or mixed analog/digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor (shared, dedicated, or group) that executes code; memory (shared, dedicated, or group) that stores code executed by a processor; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.

The term code, as used above, may include software, firmware, and/or microcode, and may refer to programs, routines, functions, classes, and/or objects. The term shared processor encompasses a single processor that executes some or all code from multiple modules. The term group processor encompasses a processor that, in combination with additional processors, executes some or all code from one or more modules. The term shared memory encompasses a single memory that stores some or all code from multiple modules. The term group memory encompasses a memory that, in combination with additional memories, stores some or all code from one or more modules. The term memory is a subset of the term computer-readable medium. The term computer-readable medium, as used herein, does not encompass transitory electrical or electromagnetic signals propagating through a medium (such as on a carrier wave); the term computer-readable medium may therefore be considered tangible and non-transitory. Non-limiting examples of a non-transitory, tangible computer-readable medium include nonvolatile memory (such as flash memory), volatile memory (such as static random access memory and dynamic random access memory), magnetic storage (such as magnetic tape or hard disk drive), and optical storage.

The apparatuses and methods described in this application may be partially or fully implemented by one or more computer programs executed by one or more processors. The computer programs include processor-executable instructions that are stored on at least one non-transitory, tangible computer-readable medium. The computer programs may also include and/or rely on stored data. 

What is claimed is:
 1. A first device comprising: a receiver to receive a first signal transmitted using a first modulation scheme from a second device; a steering module to obtain a steering matrix from the first signal transmitted using the first modulation scheme from the second device; and a transmitter to transmit a second signal using a second modulation scheme to the second device by reusing the steering matrix obtained from the first signal transmitted using the first modulation scheme from the second device, wherein the first modulation scheme and the second modulation scheme are selected from a plurality of orthogonal frequency division multiplexing based modulation schemes, and wherein the second modulation scheme is different from the first modulation scheme.
 2. The first device of claim 1, wherein the first modulation scheme and the second modulation scheme include orthogonal frequency division multiplexing based modulation schemes compliant with 802.11a, 802.11g, 802.11n, and 802.11ac specifications defined by the Institute of Electrical and Electronics Engineers.
 3. The first device of claim 1, wherein: the first modulation scheme includes a first number of subcarriers; and the second modulation scheme includes a second number of subcarriers.
 4. The first device of claim 3, wherein the first number is different from the second number.
 5. The first device of claim 3, wherein the first number is equal to the second number.
 6. The first device of claim 1, wherein the steering module is further to: generate an estimate of channel between the first device and the second device based on the first signal received from the second device; and generate the steering matrix based on the estimate of the channel generated based on the first signal received from the second device.
 7. The first device of claim 1, wherein: the first signal includes an estimate of channel between the first device and the second device generated by the second device based on a packet received by the second device from the first device; and the steering module is to generate the steering matrix based on the estimate of the channel received from the second device in the first signal.
 8. A method comprising: receiving, at a first device, a first signal transmitted using a first modulation scheme from a second device; obtaining a steering matrix from the first signal transmitted using the first modulation scheme from the second device; transmitting, from the first device, a second signal using a second modulation scheme to the second device by reusing the steering matrix obtained from the first signal transmitted using the first modulation scheme from the second device; selecting the first modulation scheme and the second modulation scheme from a plurality of orthogonal frequency division multiplexing based modulation schemes; and selecting the second modulation scheme different from the first modulation scheme.
 9. The method of claim 8, further comprising selecting the first modulation scheme and the second modulation scheme from orthogonal frequency division multiplexing based modulation schemes compliant with 802.11a, 802.11g, 802.11n, and 802.11ac specifications defined by the Institute of Electrical and Electronics Engineers.
 10. The method of claim 8, further comprising: selecting the first modulation scheme including a first number of subcarriers; and selecting the second modulation scheme including a second number of subcarriers.
 11. The method of claim 10, further comprising selecting the first number different from the second number.
 12. The method of claim 10, further comprising selecting the first number equal to the second number.
 13. The method of claim 8, further comprising: generating an estimate of channel between the first device and the second device based on the first signal received from the second device; and generating the steering matrix based on the estimate of the channel generated based on the first signal received from the second device.
 14. The method of claim 8, wherein the first signal includes an estimate of channel between the first device and the second device generated by the second device based on a packet received by the second device from the first device, the method further comprising: generating the steering matrix based on the estimate of the channel received from the second device in the first signal. 